package mymyoux.events
{
	import flash.events.Event;
   /**
	 * HashEvent est dispatché par un Hash lorsqu'une donnée est crée, modifiée ou supprimée.
	 * @author Mymyoux
	 * @version 2.0
	 */
	public class HashEvent extends Event
	{
		/**
		 * Evènement envoyée lorsqu'une donnée est créée ou modifiée.
		 */
		static public const UPDATE:String="update";
		/**
		 * Evènement envoyée lorsqu'une donnée est supprimée.
		 */
		static public const REMOVE:String="remove";
		/**
		 * @private
		 */
		protected var _key:Object;
		/**
		 * @private
		 */
		protected var _value:Object;
		/**
		 * Crée un objet de type HashEvent.
		 * @param type Type de l'évènement.
		 * @param key Clé de la donnée créée, modifiée ou supprimée.
		 * @parma value Valeur de la donnée créée, modifiée ou supprimée.
		 * @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. The default value is false.
		 * @param cancelable Determines whether the Event object can be canceled. The default values is false.
		 */
		public function HashEvent(type:String,key:Object, value:Object, bubbles:Boolean=false, cancelable:Boolean=false)
		{
			super(type, bubbles, cancelable);
			_key=key;
			_value=value;
		}
		/**
		 * Clé à laquelle est associée la donnée.
		 */
		public function get key():Object{
			return _key;
		}
		/**
		 * Valeur de la donnée.
		 */
		public function get value():Object{
			return _value;
		}
		
	}
}